package com.hilihili.transcode;


import java.util.List;

/**
 * 视频码抽象类
 * @author machi
 * @date 2024/01/31
 */
public abstract class AbstractTranscodeCommand {
    public static final String CUDA = "cuda";
    public static final String NONE = "none";
    public static final String MIXTURE_CUDA = "mixture_cuda";
    // 跨平台换行符
    private static final String LINE_SEPARATOR = System.getProperty("line.separator");
    /**
     *视频源地址
     */
    private String source;
    /**
     *视频切片后的目标地址
     */
    private String destFolder;
    /**
     *文件加密信息
     */
    private String keyInfo;

    /**
     * 获取视频转码命令
     * @return {@link List}<{@link String}>
     * @param ffmpeg
     */
    abstract List<String> getTranscodeCommand(String ffmpeg);

    protected String getSource() {
        return source;
    }

    protected void setSource(String source) {
        this.source = source;
    }

    protected String getDestFolder() {
        return destFolder;
    }

    protected void setDestFolder(String destFolder) {
        this.destFolder = destFolder;
    }

    public String getKeyInfo() {
        return keyInfo;
    }

    public void setKeyInfo(String keyInfo) {
        this.keyInfo = keyInfo;
    }
}
